package com.hljcj.boot.dao;

import java.util.ArrayList;
import java.util.List;

import javax.annotation.Resource;

import org.springframework.data.domain.Page;
import org.springframework.stereotype.Repository;

import com.hljcj.boot.bean.SysDepart;
import com.hljcj.boot.dao.base.BaseDao;


@Repository
public class DepartDao {

	@Resource
	BaseDao baseDao;
	/**
	 * 
	 * @param sysDepart
	 * @param pageNo
	 * @param pageSize
	 * @return
	 * @throws Exception
	 */
	public Page<SysDepart> queryDepart(SysDepart sysDepart,int pageNo,int pageSize) throws Exception{
		String hql="from SysDepart a ";
		List<Object> params=new ArrayList<>();
		int index=0;
		if (null!=sysDepart) {
			if (null!=sysDepart.getDepartName()&&!"".equals(sysDepart.getDepartName())&&sysDepart.getDepartName().length()>0) {
				hql+= (index==0?"where":"and")+" departName like ?"+(index++);
				params.add('%'+sysDepart.getDepartName()+'%');
			}
			
			if (null!=sysDepart.getDepartCharge()&&!"".equals(sysDepart.getDepartCharge())&&sysDepart.getDepartCharge().length()>0) {
				hql+= (index==0?"where":"and")+" departCharge like ?"+(index++);
				params.add('%'+sysDepart.getDepartCharge()+'%');
			}
		}
		return baseDao.findByJpaPage(hql,params.toArray(), pageNo, pageSize);
	}
}
